Task: Perform Feature to Design Mapping
SPL Task for Domain Engineering
Purpose

The purpose of this task is to map the commonalities and variabilities (i.e. features)  to  the MAS artifacts  already developed.

Relationships
Main Description

Examples of these MAS artifacts  are the models used to specify MAS components, such as Organizational Model, Agent model, Interaction Model, as well as source codes for MAS these components.

For instance, during Domain Design we can map Features to MAS models, while during Domain Implementation we can map features to MAS components source code.

Usually, the approach for mapping artifacts to features depends on the  way adopted for representing variabilities in the artifacts, e.g. Feature orented programming(FOP),  Delta oriented programming (DOP), or annotation programming. For instance, in FOP  features and artifacts usually  are mapped by using the same names, while in DOP features and artifacts are mapped through the application conditions.

 

This task is inspired on Feature Oriented Software Product Lines Reference.

Steps
Mapping Features to Organization Artifacts

Map the MAS features to the elements of the MAS Organization artifacts provided as input work product in this task, if any.

Examples of these artifacts are the Organization Models, as well as source code for MAS organization.. Example  of Organizational models elements  are the roles and  organizational rules proposed by Gaia.


Maping Features to Agent Artifacts

Map the MAS features to the elements of the MAS Agents artifacts provided as input work product in this task, if any. 

Examples of these artifacts are the Agent Models, agent classes,  as well as the agent source code.


Mapping Features to Interaction Artifacts

Map the MAS features to the elements of the MAS Interaction artifacts provided as input work product in this task, if any.

Mapping features to Environment Artifacts

Map the MAS features to the elements of the MAS Environment artifacts provided as input work product in this task, if any.

Revising mapped features
Revise mapped features in order to ensure mapping completeness and consistency.